:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color-scheme: light;
  color: #213547;
  background-color: #f6f7fb;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }

body { margin: 0; min-width: 320px; min-height: 100vh; }

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button { border-radius: 8px; border: 1px solid transparent; padding: 0.6em 1.2em; font-size: 1em; font-weight: 500; font-family: inherit; cursor: pointer; transition: border-color 0.25s; }
button:hover { border-color: #646cff; }
button:focus, button:focus-visible { outline: 4px auto -webkit-focus-ring-color; }

.card {
  padding: 2em;
}

#app { min-height: 100vh; }

.el-card { border-radius: 10px; }

/* Dark mode */
.dark {
  color-scheme: dark;
  background: #121212 !important;
  color: rgba(255,255,255,0.87);
}
.dark .el-card { background: #1e1e1e; color: rgba(255,255,255,0.87); }
.dark .aside { border-color: #333; }
.dark .header { border-color: #333; }
